package com.ocom.payconfig.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ocom.common.entity.card.EntityXfMerchantInfo;
import com.ocom.common.resp.Result;
import com.ocom.common.vo.payconfig.AccountListRVo;
import com.ocom.common.vo.payconfig.FeeMerchListRVo;

import java.util.List;


public interface XfMerchantInfoService extends IService<EntityXfMerchantInfo> {

    // 2.7.获取商户信息(getMerchInfo)
    public List<EntityXfMerchantInfo> GetMerchInfo(Long comId, Long merchId, String merchName, Long merchType, Long parentMerchId, Integer page, Integer size);

    public EntityXfMerchantInfo GetMerchInfo(Long comId, Long merchId);

    List<EntityXfMerchantInfo> getMerchInfoByIds(Long comId,List<Integer> ids);

    public EntityXfMerchantInfo GetMerchInfoById(Long companyId, Integer merchId);

    public EntityXfMerchantInfo GetMerchInfoById(Long companyId,Long parentMerchId,Long merchId);


    // 2.8.判断商户名称是否可用(getMerchInfoByName)
    public List<EntityXfMerchantInfo> GetMerchInfoByName(Long comId, String merchName);

    // 2.9.添加商户信息(addMerchInfo)
    public EntityXfMerchantInfo AddMerchInfo(Long comId,EntityXfMerchantInfo entityXfMerchantInfo );

    // 2.10.修改商户信息(updateMerchInfo)
    public void UpdateMerchInfo(Long comId,EntityXfMerchantInfo entityXfMerchantInfo );

    public Result existMerchanName(Long comId,Long merchId,String merchName);


    public List<EntityXfMerchantInfo> GetMerchInfo(Long companyId);

    EntityXfMerchantInfo selectParentMerchs(Long comId, String strParentMerchs);

    List<EntityXfMerchantInfo> getConsMerchReports(Long comId, String merchOrgin);


//    public Result GetMerchInfoByMachNo(Long comId, String machNo);

    Boolean  AddXfMerchantInfo(Long comId,EntityXfMerchantInfo entityXfMerchantInfo);

    Result getAllAccount(Long comId);

    AccountListRVo getFeeAccountList(Long comId);

    FeeMerchListRVo getFeeMerchList(Long comId);

    EntityXfMerchantInfo exitsMerchantName(Long comId, String merchName);

    Result updateMerchInfo(Long comId,EntityXfMerchantInfo request);

    Result changeMerchStatus(Long comId,int merchId);
}
